<template>
  <el-dialog
    title="编辑服务"
    :visible.sync="dialogVisible"
    @close="dialogFormVisible"
    :close-on-click-modal="false"
    :close-on-press-escape="false"
  >
    <el-form size="small" :model="form" :rules="formRules" ref="form">
      <el-form-item
        label="绑定地区"
        :label-width="formLabelWidth"
        prop="region_id"
      >
        <el-cascader
          v-model="form.region_id"
          :options="regions"
          :props="{ value: 'id', label: 'name' }"
          clearable
        >
        </el-cascader>
      </el-form-item>
      <el-form-item label="名称" :label-width="formLabelWidth" prop="name">
        <el-input v-model="form.name" autocomplete="off"></el-input>
      </el-form-item>
      <el-form-item :label-width="formLabelWidth" label="内容类型" prop="type">
        <el-select v-model="form.type" placeholder="请选择">
          <el-option label="服务" :value="0"></el-option>
          <el-option label="须知" :value="1"></el-option>
        </el-select>
      </el-form-item>
      <el-form-item label="描述" :label-width="formLabelWidth">
        <el-input v-model="form.describe" autocomplete="off"></el-input>
      </el-form-item>
      <el-form-item label="内容" :label-width="formLabelWidth">
        <el-input
          type="textarea"
          v-model="form.description"
          autocomplete="off"
        ></el-input>
      </el-form-item>
      <el-form-item label="图片" :label-width="formLabelWidth">
        <el-row>
          <el-button type="primary" @click="openUpload">选择图片</el-button>
          <div v-if="form.logo != ''" class="img">
            <img :src="form.logo" width="100" height="100" />
          </div>
        </el-row>
      </el-form-item>
      <el-form-item label="状态" :label-width="formLabelWidth">
        <el-radio-group v-model="form.status">
          <el-radio :label="1">显示</el-radio>
          <el-radio :label="0">隐藏</el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item label="排序号" :label-width="formLabelWidth">
        <el-input v-model="form.sort_num" autocomplete="off"></el-input>
      </el-form-item>
    </el-form>

    <div slot="footer" class="dialog-footer">
      <el-button @click="dialogFormVisible">取 消</el-button>
      <el-button type="primary" @click="editCategory" :loading="loading"
        >确 定</el-button
      >
    </div>
    <!--上传图片组件-->
    <Upload
      v-if="isupload"
      :isupload="isupload"
      :type="type"
      @returnImgs="returnImgsFunc"
      >上传图片</Upload
    >
  </el-dialog>
</template>

<script>
import SupplierApi from "@/api/supplier.js";
import IndexApi from "@/api/index.js";
import Upload from "@/components/file/Upload";

export default {
  components: {
    Upload
  },
  data() {
    return {
      form: {
        service_security_id: 0,
        name: "",
        logo: "",
        describe: "",
        status: 1,
        type: "",
        description: "",
        sort_num: 0,
        region_id: 0
      },
      formRules: {
        region_id: [{ required: true, message: "请选择区域", trigger: "blur" }],
        name: [{ required: true, message: "请输入名称", trigger: "blur" }],
        type: [{ required: true, message: "请选择类型", trigger: "blur" }]
      },
      /*左边长度*/
      formLabelWidth: "120px",
      /*是否显示*/
      dialogVisible: false,
      loading: false,
      /*是否上传图片*/
      isupload: false,
      regions: []
    };
  },
  props: ["open_edit", "editform"],
  created() {
    this.getList();
    this.dialogVisible = this.open_edit;
    this.form.region_id = [
      this.editform.province_id,
      this.editform.city_id,
      this.editform.county_id
    ];
    this.form.service_security_id = this.editform.service_security_id;
    this.form.name = this.editform.name;
    this.form.describe = this.editform.describe;
    this.form.status = this.editform.status;
    this.form.logo = this.editform.logo;
    this.form.type = this.editform.type;
    this.form.description = this.editform.description;
    this.form.sort_num = this.editform.sort_num;
  },
  methods: {
    getList() {
      let self = this;
      IndexApi.getProxyRegionList({}, true).then(res => {
        self.regions = [];
        Object.keys(res.data.regions).forEach(key => {
          self.regions.push(res.data.regions[key]);
        });
      });
    },
    /*修改*/
    editCategory() {
      let self = this;
      let params = this.form;
      self.$refs.form.validate(valid => {
        if (valid) {
          self.loading = true;
          SupplierApi.editSecurity(params, true)
            .then(data => {
              self.loading = false;
              self.$message({
                message: "恭喜你，修改成功",
                type: "success"
              });
              self.dialogFormVisible(true);
            })
            .catch(error => {
              self.loading = false;
            });
        }
      });
    },

    /*关闭弹窗*/
    dialogFormVisible(e) {
      if (e) {
        this.$emit("closeDialog", {
          type: "success",
          openDialog: false
        });
      } else {
        this.$emit("closeDialog", {
          type: "error",
          openDialog: false
        });
      }
    },
    /*上传*/
    openUpload(e) {
      this.type = e;
      this.isupload = true;
    },
    /*获取图片*/
    returnImgsFunc(e) {
      if (e != null && e.length > 0) {
        this.form.logo = e[0].file_path;
      }
      this.isupload = false;
    }
  }
};
</script>

<style></style>
